# import uvicorn

# if '__main__' == __name__:
#     uvicorn.run("service.app:app", host="0.0.0.0", port=1234)


import src.utils.stream as stream
import src.utils as utils


# stream.write_yaml(
#     "config.yaml", {
#         "model": {},
#         "dataset": {},
#         "param": {},
#         "train": {},
#         "test": {}
#     }
# )


# data = stream.read_yaml(
#     "config.yaml"
# )


# data = {
#     "name": "TraningModel",
#     "version": "0.0.1",
#     "models_dir": "models",
#     "datasets_dir": "datasets",
#     "interface": {
#         "model": {
#             "label": {
#                 "text": ""
#             },
#             "btn_add_model": {
#                 "text": "Создать"
#             }
#         },
#         "dataset": {},
#         "param": {},
#         "train": {},
#         "test": {}

#     }
# }

# stream.write_yaml("config.yaml", data)


from src.mod import Interface
from src.mod.config import ConfigInterface
from src.mod.model import ModelInterface
from src.mod.dataset import DataSetInterface
from src.mod.test import TestingInterface
from src.mod.train import TraningInterface
from src.mod.params import ParamsInterface
from src.utils.config import Config
from src.utils.params import Params


config = Config.from_file("config.yaml")


interface = Interface(
    config=config,
    params=Params(
        model_path="",
    )
)
interface.tabs(
    ConfigInterface.from_interface(interface),
    ModelInterface.from_interface(interface),
    ParamsInterface.from_interface(interface),
    DataSetInterface.from_interface(interface),
    TraningInterface.from_interface(interface),
    TestingInterface.from_interface(interface),
)
print("test")
